/**
  ******************************************************************************
  * @file    main.h
  * @author  MCU Application Team
  * @brief   Header for main.c file.
  *          This file contains the common defines of the application.
  ******************************************************************************
  * @attention
  *
  * <h2><center>&copy; Copyright (c) 2023 Puya Semiconductor Co.
  * All rights reserved.</center></h2>
  *
  * This software component is licensed by Puya under BSD 3-Clause license,
  * the "License"; You may not use this file except in compliance with the
  * License. You may obtain a copy of the License at:
  *                        opensource.org/licenses/BSD-3-Clause
  *
  ******************************************************************************
  * @attention
  *
  * <h2><center>&copy; Copyright (c) 2016 STMicroelectronics.
  * All rights reserved.</center></h2>
  *
  * This software component is licensed by ST under BSD 3-Clause license,
  * the "License"; You may not use this file except in compliance with the
  * License. You may obtain a copy of the License at:
  *                        opensource.org/licenses/BSD-3-Clause
  *
  ******************************************************************************
  */

/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __MAIN_H
#define __MAIN_H

#ifdef __cplusplus
extern "C" {
#endif

/* Includes ------------------------------------------------------------------*/
#include "py32f0xx_ll_rcc.h"
#include "py32f0xx_ll_bus.h"
#include "py32f0xx_ll_system.h"
#include "py32f0xx_ll_exti.h"
#include "py32f0xx_ll_cortex.h"
#include "py32f0xx_ll_utils.h"
#include "py32f0xx_ll_pwr.h"
#include "py32f0xx_ll_dma.h"
#include "py32f0xx_ll_gpio.h"
#include "py32f0xx_ll_usart.h"
#include "py32f0xx_ll_adc.h"
#include "py32f0xx_ll_iwdg.h"
#include "py32f0xx_ll_tim.h"
#include "py32f0xx_ll_rtc.h"
#include "py32f0xx_ll_crc.h"
#include "py32f0xx_ll_i2c.h"
#include "py32f0xx_ll_lptim.h"

#include <stddef.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdbool.h>
#include <stdarg.h>
	
#include "drv_led.h"	
#include "drv_buzzer.h"	
#include "drv_btn.h"	
#include "drv_uart.h"	
#include "drv_rtc.h"	
#include "drv_motor.h"
#include "drv_adc.h"

#include "app_task.h"
#include "app_sys.h"
#include "app_led.h"
#include "app_buzzer.h"
#include "app_btn.h"
#include "app_uart.h"
#include "app_wifi.h"
#include "app_time.h"
#include "app_adc.h"
#include "app_plan.h"
#include "app_release.h"
#include "app_power.h"
#include "app_data.h"
#include "app_motor.h"
#include "app_printf.h"
#include "app_dev.h"
#include "app_ota.h"
#include "app_factory.h"
#include "app_time_rec.h"

#include "my_app_release.h"
#include "my_app_power.h"

#include "app_info.h"
#include "app_flash.h"

#include "app_dp.h"
#include "app_dp_get.h"
#include "app_dp_set.h"
#include "app_dp_notify.h"


#define APP_SUCCESS             (0)
#define APP_FAILURE             (-1)

#define ret_if_fail(x)          if (!(x)) { return; }
#define ret_if_true(x)          if (x) { return; }
#define ret_val_if_fail(x, y)   if (!(x)) { return y; }
#define ret_val_if_true(x, y)   if (x) { return y; }

#if defined(USE_FULL_ASSERT)
#include "py32_assert.h"
#endif /* USE_FULL_ASSERT */

/* Private includes ----------------------------------------------------------*/
/* Private defines -----------------------------------------------------------*/
/* Exported variables prototypes ---------------------------------------------*/
/* Exported functions prototypes ---------------------------------------------*/
void APP_ErrorHandler(void);

#ifdef __cplusplus
}
#endif

#endif /* __MAIN_H */

/************************ (C) COPYRIGHT Puya *****END OF FILE******************/
